using System;

namespace UserManagementService.Common.DTOs;

/// <summary>
/// 组织统计信息DTO
/// </summary>
public class OrganizationStatisticsDto
{
    /// <summary>
    /// 组织ID
    /// </summary>
    public Guid? OrganizationId { get; set; }

    /// <summary>
    /// 组织名称
    /// </summary>
    public string OrganizationName { get; set; } = string.Empty;

    /// <summary>
    /// 总用户数
    /// </summary>
    public int TotalUsers { get; set; }

    /// <summary>
    /// 活跃用户数
    /// </summary>
    public int ActiveUsers { get; set; }

    /// <summary>
    /// 停用用户数
    /// </summary>
    public int DisabledUsers { get; set; }

    /// <summary>
    /// 直接成员数
    /// </summary>
    public int DirectMembers { get; set; }

    /// <summary>
    /// 间接成员数（包含子组织）
    /// </summary>
    public int IndirectMembers { get; set; }

    /// <summary>
    /// 子组织数量
    /// </summary>
    public int SubOrganizations { get; set; }

    /// <summary>
    /// 管理者数量
    /// </summary>
    public int Managers { get; set; }

    /// <summary>
    /// 本月新增用户数
    /// </summary>
    public int NewUsersThisMonth { get; set; }

    /// <summary>
    /// 本月离职用户数
    /// </summary>
    public int LeftUsersThisMonth { get; set; }

    /// <summary>
    /// 统计时间
    /// </summary>
    public DateTime StatisticsTime { get; set; } = DateTime.Now;
}